A personal digital assistant (PDA) component assists users in performing various tasks, such as scheduling appointments, making reservations, querying a database, ordering a product, and so on. A PDA component typically operates using one or more rules-based engines and/or statistical machine-trained models, generically referred to as PDA-analysis components herein. In part, the PDA-analysis components perform the tasks of recognizing a user's speech utterance, analyzing the semantic content of the user's utterance, tracking the state of the current conversation, providing a dialog policy based on one or more machine-trained models and/or rules-based engines, determining an appropriate reply to the user's utterance based on the dialog policy, etc. As the term is used herein, an “utterance” refers to a linguistic expression presented in any form, e.g., voiced form, typed form, etc., or combination thereof.
A developer produces the PDA-analysis components by placing heavy reliance on human experts. For example, in the case of machine-trained models, the developer may rely on human experts to perform at least the following tasks: applying meaningful labels to training data; guiding the training process; validating the accuracy of the resultant machine-trained models, etc. In the case of rules-based engines, the developer may rely on human experts to perform at least the following tasks: providing hand-crafted rules; generating a dialog flow with appropriate prompts; validating the accuracy of the resultant rules, etc.
Generally, the task of producing accurate PDA-analysis components is a complex, time-consuming, and expensive process. A developer may have difficulty finding appropriate experts to create the PDA-analysis components. Moreover, the developer may encounter the need to update the PDA-analysis components on a frequent basis to address changes in the applications that use the analysis components and/or the environment in which the analysis components are expected to operate; this factor compounds the already difficult challenges posed in the development process.